MFC এর Document/View প্যাটার্ন কী

Document/View আর্কিটেকচার (Document/View Architecture) - এমএফসি (MFC) - Microsoft Technologies

321

MFC (Microsoft Foundation Classes) এর Document/View Architecture একটি ডিজাইন প্যাটার্ন যা অ্যাপ্লিকেশন ডেটার কাঠামো এবং তার দৃশ্য (UI) আলাদা করে। এই প্যাটার্নটি MFC অ্যাপ্লিকেশনে ডেটা ম্যানেজমেন্ট এবং ইউজার ইন্টারফেস (UI) কন্ট্রোলিংকে পৃথক করে, যার ফলে অ্যাপ্লিকেশনটির রক্ষণাবেক্ষণ এবং স্কেলিং সহজ হয়।

Document/View প্যাটার্নের মূল উপাদানগুলি


ডকুমেন্ট (Document)

Document হল অ্যাপ্লিকেশনের ডেটা বা কন্টেন্ট ধারণকারী অংশ। ডকুমেন্ট ক্লাস সাধারণত সমস্ত ডেটা স্টোর এবং ম্যানিপুলেট করে। এটি অ্যাপ্লিকেশনের সমস্ত ডেটার একটি "মডেল" হিসেবে কাজ করে এবং এর মাধ্যমে ডেটা পরিবর্তন বা আপডেট করা হয়।

ডকুমেন্ট ক্লাসটি MFC এর CDocument ক্লাস থেকে উত্তরাধিকার সূত্রে পাওয়া যায় এবং ডেটা সঞ্চয় ও পরিচালনার জন্য বিভিন্ন সদস্য ফাংশন থাকে।

  • ডকুমেন্টের কাজ:
    • অ্যাপ্লিকেশনের ডেটা ধারণ করা।
    • ডেটা ম্যানিপুলেশন, যেমন সংরক্ষণ, লোডিং, এবং প্রক্রিয়া।
    • ডেটার স্টেট পরিবর্তন হওয়ার সময় View ক্লাসগুলোকে অবহিত (notify) করা।

Code Example:

class CMyDocument : public CDocument
{
protected: 
    CMyDocument(); 
    DECLARE_DYNCREATE(CMyDocument)
public:
    // ডেটা ম্যানিপুলেশন ফাংশন
    void SetData(int newData);
    int GetData() const;
};

ভিউ (View)

View হল অ্যাপ্লিকেশনের ব্যবহারকারী ইন্টারফেস (UI)। এটি ডকুমেন্টের ডেটা দেখানোর এবং ইউজারের সাথে ইন্টারঅ্যাক্ট করার ভূমিকা পালন করে। যখন ডকুমেন্টের ডেটা পরিবর্তিত হয়, তখন ভিউ আপডেট হয় এবং নতুন ডেটা দেখানো হয়। ভিউ ক্লাস সাধারণত CView ক্লাস থেকে উত্তরাধিকার সূত্রে পাওয়া যায় এবং এটি ব্যবহারকারীকে ডেটা প্রদর্শন, এডিট এবং ইন্টারঅ্যাক্ট করার সুযোগ দেয়।

  • ভিউয়ের কাজ:
    • ডকুমেন্টের ডেটা প্রদর্শন করা।
    • ইউজারের ইন্টারঅ্যাকশন থেকে ইনপুট গ্রহণ করা।
    • ডকুমেন্টে পরিবর্তন হলে UI আপডেট করা (নতুন ডেটা প্রদর্শন করা)।

Code Example:

class CMyView : public CView
{
protected: 
    CMyView(); 
    DECLARE_DYNCREATE(CMyView)
public:
    // ডকুমেন্টের ডেটা ডিসপ্লে করার জন্য
    void OnDraw(CDC* pDC);
};

Document/View প্যাটার্নের কাজের প্রক্রিয়া

  1. ডেটা ম্যানিপুলেশন: যখন ইউজার ডেটাতে কোনো পরিবর্তন করেন (যেমন টেক্সট এডিট করেন বা কোনো তথ্য আপডেট করেন), সেই পরিবর্তন ডকুমেন্টে সঞ্চিত হয়।
  2. ভিউ আপডেট: ডকুমেন্টের কোনো পরিবর্তন ঘটলে, ভিউ ক্লাস এই পরিবর্তন জানতে পারে এবং ডকুমেন্টের নতুন ডেটা প্রদর্শন করে।
  3. Multiple Views: একাধিক ভিউ একই ডকুমেন্টের ওপর কাজ করতে পারে, অর্থাৎ একাধিক উইন্ডোতে একই ডেটা প্রদর্শিত হতে পারে।

Document/View প্যাটার্নের সুবিধা

  • Separation of Concerns: ডেটা এবং UI আলাদা রাখা হয়, যার ফলে কোডের রক্ষণাবেক্ষণ ও ডিবাগিং সহজ হয়।
  • Multiple Views: একাধিক ভিউ একযোগে একটি ডকুমেন্টের ওপর কাজ করতে পারে, যা ব্যবহারকারীকে একাধিক উপায়ে একই ডেটা দেখতে দেয়।
  • Flexibility and Scalability: অ্যাপ্লিকেশনকে স্কেল করার জন্য এটি অত্যন্ত উপযোগী, কারণ ডেটা এবং UI আলাদা রাখার কারণে নতুন ভিউ বা ডকুমেন্ট ইন্টিগ্রেশন সহজ হয়।

সারাংশ

MFC এর Document/View Architecture একটি শক্তিশালী ডিজাইন প্যাটার্ন যা ডেটা এবং ইউজার ইন্টারফেসের আলাদা প্রাথমিক ধারণা তৈরি করে। এটি ডেটা ম্যানিপুলেশন এবং UI আপডেটিংয়ের মধ্যে একটি পরিষ্কার সীমারেখা রাখে, যা অ্যাপ্লিকেশনের রক্ষণাবেক্ষণ এবং স্কেলিং সহজ করে। ডকুমেন্ট ক্লাস ডেটা ধারণ করে এবং ভিউ ক্লাস সেই ডেটা ব্যবহারকারীর কাছে উপস্থাপন করে, এবং যখন ডেটায় পরিবর্তন ঘটে, ভিউ সেই পরিবর্তন বাস্তবায়ন করে।

Content added By
Promotion

Are you sure to start over?

Loading...